<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<!--[if lt IE 9]>
  <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<![endif]-->
<title>VIM 中文用户手册: 使用 GUI 版本</title>
<link rel="stylesheet" href="vim-stylesheet.css" type="text/css" />
<link rel="canonical" href="https://yianwillis.github.io/vimcdoc/doc/usr_09.html" />
<script type="text/javascript" src="vimcdoc.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1" />
</head>
<body>
<nav id=banner>
<form action=tags.html target="tag_iframe">
  <input type="text" name="tag" id="tag" placeholder="标签搜索">
</form>
<iframe name="tag_iframe" src=""></iframe>
<a href="help.html">帮助总览</a> &middot;
<hr/>
<a href="quickref.html">快速参考</a> &middot;
<a href="index.html">命令索引</a> &middot;
<a href="eval.html#functions">函数列表</a> &middot;
<a href="quickref.html#option-list">选项列表</a> &middot;
<hr/>
<a href="usr_toc.html">用户手册</a> &middot;
<a href="help.html#reference_toc">参考手册</a> &middot;
</nav>

<header>
<h2>usr_09</h2>
</header>
<article id=outer>
<section class=inner>
<b class="vimtag"> <a name="usr_09.txt">usr_09.txt</a> </b>    适用于 Vim 9.0 版本。   最近更新: 2019年12月

                     <code class="vim">VIM 用户手册 - by Bram Moolenaar</code>
                                <code class="vim">译者</code>: Nek_in

                          使用 GUI 版本


Vim 能在一般的终端中很好地工作。gVim 则提供了图形用户界面 (GUI)。它可以完成相
同，甚至更多的功能。GUI 能提供菜单，工具条，滚动条和其它东西。本章介绍 GUI 这
些额外的功能。

 <a href="usr_09.html#09.1">09.1</a>   GUI 版本的组件
 <a href="usr_09.html#09.2">09.2</a>   使用鼠标
 <a href="usr_09.html#09.3">09.3</a>   剪贴板
 <a href="usr_09.html#09.4">09.4</a>   选择模式

        下一章:  <a href="usr_10.html#usr_10.txt">usr_10.txt</a>   做大修改
        前一章:  <a href="usr_08.html#usr_08.txt">usr_08.txt</a>   分割窗口
          目录:  <a href="usr_toc.html#usr_toc.txt">usr_toc.txt</a> 

</section><hr class="doubleline" /><section class=inner>
<h4><b class="vimtag"> <a name="09.1">09.1</a> </b>  GUI 版本的组件</h4>
你可以在你的桌面上放一个启动 gvim 的图标。此外，下面的任一个命令也可以启动
gvim:

<code class="example">        gvim file.txt</code>
<code class="example">        vim -g file.txt</code>
<code class="example"></code>
如果这样不行，可能是因为你的 Vim 不支持 GUI 版本特性。你需要先安装一个合适的版
本。
    执行命令后，Vim 会打开一个窗口，并显示文件 "file.txt"。窗口的样子取决于
Vim 的版本。一般是下面这个样子 (尽可能地用 ASCII 码展示):

        +----------------------------------------------------+
        | file.txt + (~/dir) - VIM                         X |  &lt;- 窗口标题
        +----------------------------------------------------+
        | File  Edit  Tools  Syntax  Buffers  Window  Help   |  &lt;- 菜单栏
        +----------------------------------------------------+
        | aaa  bbb  ccc  ddd  eee  fff  ggg  hhh  iii  jjj   |  &lt;- 工具栏
        | aaa  bbb  ccc  ddd  eee  fff  ggg  hhh  iii  jjj   |
        +----------------------------------------------------+
        | file text                                      | ^ |
        | ~                                              | # |
        | ~                                              | # |  &lt;- 滚动条
        | ~                                              | # |
        | ~                                              | # |
        | ~                                              | # |
        |                                                | V |
        +----------------------------------------------------+

最大的一片空间是文件的内容。这部分与终端上看到的是一样的，只是颜色和字体可能有
一点差别。


窗 口 标 题

窗口最顶上是窗口标题。这由你的窗口系统绘制。Vim 会在这个标题上显示当前文件的相
关信息。首先显示的是文件名，然后是一个特殊字符，最后是用括号括住的目录名。下面
是这些特殊字符的含义:

        -       文件不能被修改 (例如帮助文件)
        +       已经被修改过
        =       文件只读
        =+      文件只读，但仍被修改过

如果没有显示任何特殊字符，表示这是一个普通的，没有改过的文件。


菜 单 栏

你知道菜单是怎么工作的，是吧？ Vim 有些通用的菜单，外加一些特别的。逐个看看，
猜测一下这些菜单都可以用来干什么。另一个相关的子菜单是 Edit/Global，你可以在那
里找到这些菜单项:

        Toggle Toolbar          使工具条可见/不可见
        Toggle Bottom Scrollbar 使底部的滚动条可见/不可见
        Toggle Left Scrollbar   使左边的滚动条可见/不可见
        Toggle Right Scrollbar  使右边的滚动条可见/不可见

在大多数系统里，你可以把菜单 "撕下来"。选中菜单最上面的菜单栏，就是那个看起来
像条虚线的。这样你可以得到一个分离的菜单，里面包括了所有菜单项。它会一直挂在那
里，直到你关闭它。


工 具 栏

这里包括使用最频繁的操作的图标。希望这些图标功能显而易见。另外，每个图标都支持
"工具提示" (把鼠标移上去停一会儿就能看见这个提示)

"Edit/Global Settings/Toggle Toolbar" 菜单项可以关闭工具条。如果你从来都不使用
工具条，可以在 vimrc 文件中加上:

<code class="example">        :set guioptions-=T</code>
<code class="example"></code>
这个命令从 <a href="options.html#'guioptions'">'guioptions'</a> 中删除 "T" 标记。其它 GUI 部件也可以通过这种方法激活或
关闭。参见这个选项的相关帮助。


滚 动 条

默认情况下，右边会有一个滚动条，它的作用是很明显的。当你分割窗口的时候，每个窗
口都会有自己的滚动条。
    你可以通过 "Edit/Global Settings/Toggle Bottom Scrollbar" 来启动一个水平滚
动条。这在比较模式或没有设置 <a href="options.html#'wrap'">'wrap'</a> 时非常有用 (后面有更多描述)。

在使用垂直分割的时候，只有右边的窗口有滚动条，但当你把光标移到左边的窗口上，右
边的滚动条会对这个窗口起作用，这需要一些时间去适应。
    当你使用垂直分割的时候，可以考虑把滚动条放在左边。这可以通过菜单激活，或者
使用 <a href="options.html#'guioptions'">'guioptions'</a> 选项:

<code class="example">        :set guioptions+=l</code>
<code class="example"></code>
这是在 <a href="options.html#'guioptions'">'guioptions'</a> 中增加 'l' 标志位。

</section><hr class="doubleline" /><section class=inner>
<h4><b class="vimtag"> <a name="09.2">09.2</a> </b>  使用鼠标</h4>
标准是好东西。在微软的 Windows 操作系统中，你可以用标准模式选中文本。X Windows
也有一套使用鼠标的标准。非常不幸，这两套标准是不同的。
    幸运的是，你可以定制 Vim。你可以让你的鼠标行为像 X Windows 或者像微软
Windows 的鼠标。下面的命令使鼠标用起来像 X Windows:

<code class="example">        :behave xterm</code>
<code class="example"></code>
而如下命令使鼠标用起来像微软 Windows:

<code class="example">        :behave mswin</code>
<code class="example"></code>
在 UNIX 操作系统中，默认的鼠标行为是 xterm。而默认的微软 Windows 系统的鼠标行
为是在安装的时候选定的。要了解这两种行为的详细信息，请参考  <a href="gui.html#:behave">:behave</a> 。下面是一
些摘要:

XTERM 鼠 标 行 为

左键单击                定位光标
左键拖动                在可视模式下选中文本
中键单击                从剪贴板中粘贴文本
右键单击                把选中的文本扩展到当前的光标位置


微软 Windows 鼠标行为

左键单击                定位光标
左键拖动                在选择模式下选中文本 (参见  <a href="usr_09.html#09.4">09.4</a> )
按住 Shift，左键单击    把选中的文本扩展到当前的光标位置
中键单击                从剪贴板中粘贴文本
右键单击                显示一个弹出式菜单


可以进一步定制鼠标。请参见下面的选项:

        <a href="options.html#'mouse'">'mouse'</a>         鼠标的使用模式
        <a href="options.html#'mousemodel'">'mousemodel'</a>    鼠标单击的效果
        <a href="options.html#'mousetime'">'mousetime'</a>     双击的间隔允许时间
        <a href="options.html#'mousehide'">'mousehide'</a>     输入的时候隐藏鼠标
        <a href="options.html#'selectmode'">'selectmode'</a>    鼠标启动可视模式还是选择模式

</section><hr class="doubleline" /><section class=inner>
<h4><b class="vimtag"> <a name="09.3">09.3</a> </b>  剪贴板</h4>
 <a href="usr_04.html#04.7">04.7</a>  节已经介绍过剪贴板的基本使用了。这里有一个重要的地方要解释一下: 对于
X-windows 系统，有两个地方可以在程序间交换文本，而 MS-Windows 不是这样的。

在 X-Windows，有一个 "当前选择区" 的概念。它表示正被选中的文本。在 Vim 中，这
表示可视区 (假定你正使用默认的设置)。不需要任何其它操作，你就可以把这些文本贴
到别的程序中。
    例如，你用鼠标在本文中选中一些文本。Vim 会自动切换到可视模式，并高亮这些文
本。现在启动另一个 gvim，(由于没有指定文件名，它会显示出一个空窗口)。点击鼠标
中键。被选中的文本就会被贴进来。
    "当前选择区" 会一直保持有效直到你选中其它文本。在另一个 gvim 中粘贴文本
后，在这个窗口中选中一些文字，你会发现上一个窗口中选中的文字显示的方法跟原来有
些区别了，这表示这些文字已经不是 "当前选择区" 了。

你不一定要用鼠标来选中文字，用键盘的 "可视" 命令也能达到相同的效果。

"真" 剪 贴 板

对于另一个交换文本的地方，我们称之为 "真" 剪贴板以避免与上面的 "当前选择区" 混
淆。通常 "当前选择区" 和 "真" 剪贴板都称为剪贴板，你需要习惯这些名称。
    要把文字拷贝到真剪贴板，在一个 gvim 中选中一些文本，然后执行菜单命令
Edit/Copy。这样文字就被拷贝到真剪贴板了。剪贴板的内容是不可见的，除非你使用特
别的显示程序，例如 KDE 的 klipper 程序。
    现在，切换到另一个 gvim，把光标停在某个位置，然后执行菜单命令 Edit/Paste
菜单。你会看到真剪贴板中的内容被插入到当前的光标位置。


使 用 两 种 剪 贴 板

这种同时使用 "当前选择区" 和 "真剪贴板" 的操作方式听起来很乱。但这是很有用的。
我们通过一个例子来说明。用 gvim 打开一个文件并执行如下命令:

- 在可视模式下选中两个词
- 使用 Edit/Copy 菜单把这些词拷到剪贴板
- 再用可视模式选中另一个词
- 执行 Edit/Paste 菜单命令。这样第二次选中的词会被前面剪贴板中的词代替。
- 把鼠标移到另一个地方按中键，你会发现你刚被覆盖的单词被粘贴到新的位置。

如果你小心使用 "当前选择区" 和 "真剪贴板" 两个工具，你可以完成很多很有用的工
作。


使 用 键 盘

如果你不喜欢使用鼠标，你可以通过两个寄存器来使用 "当前选择区" 和 "真剪贴板" 两
个剪贴板。"* 寄存器用于表示当前选择区。
   要使文本变成 "当前选择区"，只要使用可视模式即可。例如，要选中一整行只要输入
"V"。
    要拷贝当前选择区的内容:

<code class="example">        "*P</code>
<code class="example"></code>
<code class="note">注意</code>这里 "P" 是大写，表示把文字拷贝到光标的前面。

"+ 寄存器用于真剪贴板。例如，要把当前光标位置到行末的文本拷到真剪贴板:

<code class="example">        "+y$</code>
<code class="example"></code>
记得吧，"y" 是 yank，这是 Vim 的拷贝命令。
    要把真剪贴板的内容拷到光标前面:

<code class="example">        "+P</code>
<code class="example"></code>
这与 "当前选择区" 一样，只是用 (+) 寄存器取代了 (*) 寄存器。

</section><hr class="doubleline" /><section class=inner>
<h4><b class="vimtag"> <a name="09.4">09.4</a> </b>  选择模式</h4>
现在介绍一些在 MS-Windows 中比在 X-Windows 中更常被使用的东西 (但在两个系统上
都可用)。你已经了解可视模式了。选择模式与可视模式相似，也是用来选中文字的。但
有一个显著区别: 当输入文本的时候，在选择模式下，被选中的文字将被替换成新输入的
文字。

要启用选择模式，先要激活它 (对于 MS-Windows，可能已经激活了，不过多做一次也没
什么):

<code class="example">        :set selectmode+=mouse</code>
<code class="example"></code>
现在用鼠标选中一些文本，这些文本会好像可视模式一样被高亮。现在敲入一个字母。被
选中的文本被删除，替换成新的字母。现在已经是插入模式了，你可以继续输入。

由于输入普通文本导致选中的文字被删除，这时你不能使用 "hjkl"，"w" 等移动命令。
这时可以使用 "Shift" 加功能键。<code class="special">&lt;S-Left&gt;</code> (shift 键加左箭头) 使光标左移。选中的
文字像可视模式一样被扩展或者减少。其它箭头起的作用你也可以猜到了，<code class="special">&lt;S-End&gt;</code> 和
<code class="special">&lt;S-Home&gt;</code> 也一样。

你可以通过 <a href="options.html#'selectmode'">'selectmode'</a> 选项修改选择模式的工作方式。

</section><hr class="doubleline" /><section class=inner>
<h4></h4>下一章:  <a href="usr_10.html#usr_10.txt">usr_10.txt</a>   做大修改

版权: 参见  <a href="usr_01.html#manual-copyright">manual-copyright</a>   vim:tw=78:ts=8:noet:ft=help:norl:
</section>
</article>
<footer>
Generated by vim2html
</footer>
</body>
</html>
